package com.cooper.scraper;

import com.cooper.scraper.CustomFixExecutorService.ThreadPoolStatusListener;

public interface PublishRunner {

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.cooper.scraper.PublishRunner#setStatusListener(com.cooper.scraper
	 * .RunnerStatusListener)
	 */
	public abstract void setStatusListener(
			ThreadPoolStatusListener statusListener);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.cooper.scraper.PublishRunner#subscribed(com.cooper.scraper.
	 * RunnerSubscribe)
	 */
	public abstract boolean subscribed(RunnerSubscribe subscribe);

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.cooper.scraper.PublishRunner#subscribe(com.cooper.scraper.RunnerSubscribe
	 * )
	 */
	public abstract void subscribe(RunnerSubscribe subscribe);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.cooper.scraper.PublishRunner#getTaskCount(com.cooper.scraper.
	 * RunnerSubscribe)
	 */
	public abstract int getTaskCount(RunnerSubscribe subscribe);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.cooper.scraper.PublishRunner#cancelSubscribe(com.cooper.scraper.
	 * RunnerSubscribe)
	 */
	public abstract void cancelSubscribe(RunnerSubscribe subscribe);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.cooper.scraper.PublishRunner#cancelSubscribe(com.cooper.scraper.
	 * RunnerSubscribe, boolean)
	 */
	public abstract void cancelSubscribe(RunnerSubscribe subscribe,
			boolean cancelDownload);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.cooper.scraper.PublishRunner#cancel(java.lang.String)
	 */
	public abstract void cancel(String key);

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.cooper.scraper.PublishRunner#cancel()
	 */
	public abstract void cancel();

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * com.cooper.scraper.PublishRunner#cancel(com.cooper.scraper.RunnerSubscribe
	 * )
	 */
	public abstract void cancel(RunnerSubscribe subscribe);

}